package com.tudouji.project.d3.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.tudouji.framework.aspectj.lang.annotation.Excel;
import com.tudouji.framework.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * D3平台店铺对象 d3_shop
 *
 * @author tudouji
 * @date 2023-03-29
 */
public class D3Shop extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 系统id
     */
    private Long id;

    /**
     * 店铺编码
     */
    @Excel(name = "店铺编码")
    private String code;

    /**
     * 店铺名
     */
    @Excel(name = "店铺名")
    private String name;

    /**
     * 店铺标题
     */
    @Excel(name = "店铺标题")
    private String title;

    /**
     * 店铺平台类型
     */
    @Excel(name = "店铺平台类型")
    private String platform;

    /**
     * 店铺平台子类型
     */
    @Excel(name = "店铺平台子类型")
    private String platformtype;

    /**
     * 店铺类型, ONLINE_SALE: 线上零售, OFFLINE_SALE: 线下零售
     */
    @Excel(name = "店铺类型, ONLINE_SALE: 线上零售, OFFLINE_SALE: 线下零售")
    private String type;

    /**
     * 店铺状态, VALID: 有效, INVALID: 禁用, DELETED: 删除
     */
    @Excel(name = "店铺状态, VALID: 有效, INVALID: 禁用, DELETED: 删除")
    private String status;

    /**
     * 关联平台用户id
     */
    @Excel(name = "关联平台用户id")
    private String refuserid;

    /**
     * 关联平台用户昵称
     */
    @Excel(name = "关联平台用户昵称")
    private String refusernick;

    /**
     * 平台授权状态, NOT: 未授权, ALREADY: 已授权, INVALID: 授权失效, UNWANTED: 无需授权
     */
    @Excel(name = "平台授权状态, NOT: 未授权, ALREADY: 已授权, INVALID: 授权失效, UNWANTED: 无需授权")
    private String refauthstatus;

    /**
     * 平台授权过期时间, linux时间戳
     */
    @Excel(name = "平台授权过期时间, linux时间戳")
    private Long refauthexpirestime;

    /**
     * 销售客户id
     */
    @Excel(name = "销售客户id")
    private Long customerId;

    /**
     * 销售客户name
     */
    @Excel(name = "销售客户name")
    private String customerName;

    private Long deptId;
    private String deptName;
    private Long submitterId;

    private String nickName;

    private Long updateby;

    private Long createby;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date syncDate;

    private String syncRate;

    //状态 1 - 生效 0 - 失效
    private Integer logisticRule;

    private String logisticRuleName;

    public String getLogisticRuleName() {
        return logisticRuleName;
    }

    public void setLogisticRuleName(String logisticRuleName) {
        this.logisticRuleName = logisticRuleName;
    }

    public Integer getLogisticRule() {
        return logisticRule;
    }

    public void setLogisticRule(Integer logisticRule) {
        this.logisticRule = logisticRule;
    }

    public String getSyncRate() {
        return syncRate;
    }

    public void setSyncRate(String syncRate) {
        this.syncRate = syncRate;
    }

    public Date getSyncDate() {
        return syncDate;
    }

    public void setSyncDate(Date syncDate) {
        this.syncDate = syncDate;
    }

    public Long getUpdateby(){
        return updateby;
    }

    public void setUpdateby(Long updateby){
        this.updateby=updateby;
    }

    public Long getCreateby(){
        return createby;
    }

    public void setCreateby(Long createby){
        this.createby=createby;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public Long getSubmitterId() {
        return submitterId;
    }

    public void setSubmitterId(Long submitterId) {
        this.submitterId = submitterId;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getPlatform() {
        return platform;
    }

    public void setPlatform(String platform) {
        this.platform = platform;
    }

    public String getPlatformtype() {
        return platformtype;
    }

    public void setPlatformtype(String platformtype) {
        this.platformtype = platformtype;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getRefuserid() {
        return refuserid;
    }

    public void setRefuserid(String refuserid) {
        this.refuserid = refuserid;
    }

    public String getRefusernick() {
        return refusernick;
    }

    public void setRefusernick(String refusernick) {
        this.refusernick = refusernick;
    }

    public String getRefauthstatus() {
        return refauthstatus;
    }

    public void setRefauthstatus(String refauthstatus) {
        this.refauthstatus = refauthstatus;
    }

    public Long getRefauthexpirestime() {
        return refauthexpirestime;
    }

    public void setRefauthexpirestime(Long refauthexpirestime) {
        this.refauthexpirestime = refauthexpirestime;
    }

    public Long getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Long customerId) {
        this.customerId = customerId;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("code", getCode())
                .append("name", getName())
                .append("title", getTitle())
                .append("platform", getPlatform())
                .append("platformtype", getPlatformtype())
                .append("type", getType())
                .append("status", getStatus())
                .append("refuserid", getRefuserid())
                .append("refusernick", getRefusernick())
                .append("refauthstatus", getRefauthstatus())
                .append("refauthexpirestime", getRefauthexpirestime())
                .append("customerId", getCustomerId())
                .append("customerName", getCustomerName())
                .append("createTime", getCreateTime())
                .append("createBy", getCreateBy())
                .append("updateTime", getUpdateTime())
                .append("updateBy", getUpdateBy())
                .append("nickName", getNickName())
                .append("deptName", getDeptName())
                .append("updateby",getUpdateby())
                .append("createby",getCreateby())
                .toString();
    }
}
